The present invention relates to a method of constructing applications by combining software components that is componentized and, more particularly, to a method of obtaining and accumulating an execution history regarding reliability for each software component and a method of constructing a high-reliable system using the above method.
The use of on-line applications typified by Web services, such as electronic commerce or an intra-company information processing system on the Internet or an intranet, has been rapidly widespread. In response to demands for expansion of customers, efficient operations, and cost reduction, etc., quick and flexible system developments have been required. To achieve this, a technology for constructing applications by combining the software components typified by Enterprise Java Beans (EJB) (“JAVA” is a trademark.) has attracted attention. The application constructed by using such a technology is referred to as a component-based application.
The component-based application can be constructed by preparing in advance the software components that perform frequently-used processes and then combining these components, whereby an application development time can be reduced. Also, in order to improve applications In accordance with dynamically changing demands from the customers, what is required is to replace some relevant software components to be changed, so that quick and flexible improvement complying with the demands can be achieved.
The developments of the component-based applications have features as described above. Furthermore, with the emergence of a standard framework, such as Java2 Enterprise Edition (J2EE), the component-based applications have become widely used. As a result, various software components will be developed and accumulated.
In system construction, these software components are required to be searched for a software component having a necessary function. However, with an increase in variety of software components, a plurality of software components that are functionally equivalent to one another may possibly be found. Therefore, a technology of quickly and suitably selecting an optimum one of software component candidates will become important.
One index of selection of a software component includes system performance. However, at the time of constructing a system, it is difficult to predict the system performance of the combined software components.
Patent Document 1 (Japanese Patent Laid-Open No. 2004-220453) discloses a method in which a CPU time required for performing a process at each individual software component is measured as basic operational performance and, based on the measurement values, process performance (CPU time) required for an assumable process is predicted. According to this method, the process performance of the system in a normal process can be predicted before assembling the entire system.
Another index of selection of a software component includes system reliability. The system reliability is an important index particularly in a job system. The system performance can be improved by taking measures such as addition of hardware in many cases, whereas the system reliability is often difficult to improve by taking the same measures as those for the system performance. Particularly, in the component-based applications, reliability may be decreased depending on the combination of the software components. As such, it is difficult to predict the system reliability.
In a component-based application in Patent Document 2 (Japanese Patent Laid-Open No. 2002-82926), a process start time and a process end time are measured for each software component, thereby measuring a process time. When the process time exceeds a predetermined process time, it is determined that a process state is abnormal, for example, and then the measures for the abnormal process state are taken. Such measures include halts of the components and/or a restart of a server process. Further, a method of monitoring system reliability at the time of system operation and of obtaining measures to be taken in the abnormal state is disclosed. In addition thereto, the Patent Document 2 also discloses a method of monitoring the system performance at the time of the system operation.